package com.hy.proxy.common;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

/**
 * @Author: hy
 * @Date: Created in 2019/10/2/22:08
 * @Description: 一个关于Json的工具类
 * @Version: 1.0
 */
public class JsonUtils {

    /**
     * 全局 Gson
     */
    private static Gson gson;

    public static Gson getGson() {
        return gson == null ? gson = new GsonBuilder()
                .excludeFieldsWithoutExposeAnnotation()
                .setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
                .serializeNulls()
                .create() : gson;
    }

//    /**
//     * 创建一个类型，这个类型是Object的，最后可以根据需要自动向下转型
//     *
//     * @param <T>
//     * @return
//     */
//    public static <T> Type createType(Proxy.ProxyType type) {
//
//        Type t = null;
//
//        if (type == Proxy.ProxyType.SSR) {
//            t = new TypeToken<List<SSR>>() {
//            }.getType();
//        } else if (type == Proxy.ProxyType.V2) {
//            t = new TypeToken<List<T>>() {
//            }.getType();
//        } else if (type == Proxy.ProxyType.SS) {
//            t = new TypeToken<List<T>>() {
//            }.getType();
//        }
//
//        return t;
//    }

}
